package org.xq.mq.component;

import org.xq.mq.constant.Constants;
import org.xq.mq.model.RedisQueueMessage;
import org.xq.mq.service.RedisQueueConsumer;
import org.xq.mq.util.HttpUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

@Slf4j
@Component
public class OrderConsumer implements RedisQueueConsumer {

    @Override
    public String getQueueName() {
        return Constants.ORDER_CONSUMER_QUEUE_NAME;
    }

    @Override
    public void getMessage(RedisQueueMessage redisQueueMessage) {
//        log.info("\n接收到了消息: " + redisQueueMessage.toString());

        /**
         * 这里拿到了生产者发送的消息内容,我消费者可以进行消费处理了,
         * 怎么处理呢?
         * 我们将会拿到
         *      product_id
         *      product_count
         *      user_id
         * 然后我们去调用 webapi中的下单接口,进行下单操作
         */

        try {
            HttpUtil.post("http://localhost:8080/romote_user_place_order", redisQueueMessage.getContent());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void error(String error) {
    }
}
